package de.revdev.streckenliste.managedbeans;

import de.revdev.streckenliste.beans.Administration;
import de.revdev.streckenliste.dao.WildtypDAO;
import de.revdev.streckenliste.entities.Wildart;
import de.revdev.streckenliste.entities.Wildtyp;
import java.util.LinkedList;
import java.util.List;
import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import javax.inject.Named;

/**
 *
 * @author f.lindermaier
 */
@Named(value = "anwendungsVerwBean")
@RequestScoped
public class AnwendungsVerwBean {

    @Inject
    private Administration awv;
    @Inject
    private WildtypDAO wtdao;
    private String wt;
    private boolean abschpfl;
    private int laufzeit;
    private int nummer;
    private String wa;
    private List<String> was;

    /**
     * Creates a new instance of AnwendungsVerwBean
     */
    public AnwendungsVerwBean() {
        was = new LinkedList();
    }

    public List<Wildtyp> holeWildtyp() {
        return awv.holeWildtyp();
    }

    public String speichern() {
        Wildtyp wildtyp = new Wildtyp();
        wildtyp.setNameWT(wt);
        wildtyp.setAbschPlPfl(abschpfl);
        wildtyp.setDauerAbschPL(laufzeit);
        wildtyp.setWildart(new LinkedList<Wildart>());
        wildtyp.setSort(nummer);
        for (String s : was) {
            if (!s.equals("")) {
                Wildart wildart = new Wildart();
                wildart.setNameWA(s);
                wildart.setWildtyp(wildtyp);
                wildtyp.getWildart().add(wildart);
            }
        }
        wtdao.create(wildtyp);
        return "/faces/admin/anwendungsverw.xhtml?faces-redirect=true";
    }

    public WildtypDAO getWtdao() {
        return wtdao;
    }

    public void setWtdao(WildtypDAO wtdao) {
        this.wtdao = wtdao;
    }

    public String getWt() {
        return wt;
    }

    public void setWt(String wt) {
        this.wt = wt;
    }

    public boolean isAbschpfl() {
        return abschpfl;
    }

    public void setAbschpfl(boolean abschpfl) {
        this.abschpfl = abschpfl;
    }

    public int getLaufzeit() {
        return laufzeit;
    }

    public void setLaufzeit(int laufzeit) {
        this.laufzeit = laufzeit;
    }

    public String getWa() {
        return wa;
    }

    public void setWa(String wa) {
        was.add(wa);
    }

    public int getNummer() {
        return nummer;
    }

    public void setNummer(int nummer) {
        this.nummer = nummer;
    }

    public Administration getAwv() {
        return awv;
    }

    public void setAwv(Administration awv) {
        this.awv = awv;
    }
}
